<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客列表页</title>
    <!-- 这是编写博客系统得列表展示页面 -->
    <link rel="stylesheet" href="CSS/common.css">
    <link rel="stylesheet" href="CSS/bolg_list.css">

</head>
<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="Imag/导航栏头像.png" alt="这是导航栏头像">
        <!-- span 标签不独占一行, 是一个小盒子 -->
        <span class="title"> 我的博客系统 </span>
        <div class="spacer"></div>
        <!-- # 在a标签中表示占位符 -->
        <a href="square.html">灌水区</a>
        <a href="blog_editor.html">写博客</a>
        <a href="login.html" id="exit">注销</a>
    </div>

    <!-- 页面内容部分 -->
    <div class="container">
        <!-- 左侧信息, 先表示出左侧大盒子-->
        <div class="container-left">
            <div class="user">
                <img src="Imag/用户名头像.png" alt="这是一个用户名头像">
                <!-- 用户名 -->
                <h3></h3>
                <a href="https://gitee.com/dashboard">Gitee 地址</a>
                <div class="counter">
                    <!-- <p>文章</p>
                    <p>分类</p> -->
                    <span >文章</span>
                    <span >分类</span>
                </div>
                <div class="counter">
                    <span id="count"></span>
                    <span id="sort">?</span>
                </div>
            </div>
        </div>

        <!-- 右侧信息， 先表示出右侧大盒子-->
        <div class="container-right">
            <!-- 表示一篇博客页面 -->
            

        </div>

    </div>

    <!-- 引入 js 依赖 -->
    <script src="js/jQuery.min.js"></script>
    <script>
        
        // 退出登陆
        let exit = document.querySelector('#exit');
        exit.onclick = function() {
            $.ajax({
                type:'get',
                url:'exit',
                contentType:'application/json; charset = utf8',
                success:function(body) {
                    if(body.issuccess == true) {
                        alert('注销成功!');
                        location.assign('login.html');
                        
                    } else {
                        alert('当前未登录, 无法执行该操作!');
                        return;
                    }
                }
            });
        }

        // 在页面加载时,向服务器获取博客内容
        function getBlogs() {
            $.ajax({
                type: 'get',
                url: 'myBlog',
                success : function(body) {
                    console.log(body);

                    // 响应得 body 是一个 json 字符串, 此处已经被 jQuery 解析成 js 对象数组了
                    // 遍历 body 获取
                    for(let blog of body) {
                        let containerRight = document.querySelector('.container-right');

                        // 添加一个 整个博客 div
                        let blogDiv = document.createElement('div');
                        blogDiv.className = 'blog';

                        // 构造标题
                        let titleDiv = document.createElement('div');
                        titleDiv.className = 'title';
                        titleDiv.innerHTML = blog.title;
                        blogDiv.appendChild(titleDiv);

                        // 构造发布时间
                        let dateDiv = document.createElement('div');
                        dateDiv.className = 'date';
                        dateDiv.innerHTML = blog.postTime
                        blogDiv.appendChild(dateDiv);

                        // 构造博客摘要
                        let articleDiv = document.createElement('div');
                        articleDiv.className = 'article';
                        // 此处得正文是后端发来的, 该数据是通过 selectAll中得方法得到的截断后得content
                        articleDiv.innerHTML = blog.content;
                        blogDiv.appendChild(articleDiv);

                        // 构造查看全文按钮
                        let a = document.createElement('a');
                        a.innerHTML = '查看全文 &gt&gt';
                        // 要求点击查看全文按钮以后跳转到详情页面
                        // 为了让博客页面知道是具体那篇博客, 将 blogId 传入
                        // 跳转路径
                        a.href = 'blog_detail.html?blogId=' + blog.blogId;
                        blogDiv.appendChild(a)

                        // 把整个 blogdiv 挂在 dom 树上
                        containerRight.appendChild(blogDiv);
                        console.log("添加成功!!! ");
                        console.log(a);
                    }
                }
            });
        }

        // 调用函数
        getBlogs();


        // 强制登录检测
        function forceLogin() {
            $.ajax({
                type: 'get',
                url: 'force',
                success: function(body) {
                    if(body.userId != null && body.userId > 0) {
                        // 登录成功
                        console.log("登录成功");
                        console.log(body.userId);
                    } else {
                        // 未登录强制跳转
                        location.assign('login.html');
                    }
                }
            });
        }

        forceLogin();

        function PrincipalSheet() {
            $.ajax({
                type: 'get',
                url: 'sheet',
                success: function(body) {
                    // 此处的 body 为一个 User 对象
                    // 把 user 对象里的内容更新到页面即可

                    // 更新用户名
                    let h3 = document.querySelector('.container-left .user h3');
                    h3.innerHTML = body.name;
                    console.log(body.name);
                    console.log("更新主页用户名");
                }
            });

        }

        PrincipalSheet();

        function countBlog() {
            $.ajax({
                type:'get',
                url:'count',
                contentType:'application/json; charset = utf8',
                // 后端传来的是一个 json格式的 user对象
                success: function(body) {
                    let count = document.querySelector('#count');
                    count.innerHTML = body;
                    console.log('body');
                }    
            });
        }
        countBlog();

    </script>
</body>
</html>